package jeudame.Modele;

import jeudame.Vue.Monpanel;

/**
 * Class DamierModel: La classe qui va gérer tout le systeme du plateau de jeu
 * @author Bilal and David
 */
public class DamierModel
{
        /**
         * Boolean qui va nous permettre d'afficher les commentaires
         */
        boolean DEBUG = false;

        /**
         *
         */
        protected Damier Damier;

        /**
         *
         */
        protected Piece[] Pieces;

        /**
         *
         */
        protected int joueur;

        /**
         *
         */
        protected int nbPionNoir;

        /**
         *
         */
        protected int nbPionBlanc;

        Monpanel vue;

        /**
         *
         * @param vue1
         *      une reference vers la vue
         */
        public DamierModel(Monpanel vue1) {

            if(DEBUG){
                System.out.println("DEBUG : DamierModel()1");
            }

            Damier = new Damier(vue1, this);

            vue=vue1;

            Pieces = new Piece[40];

            InitDamierModel();
            if(DEBUG){
                System.out.println("DEBUG : DamierModel()2");
            }

        }

        /**
         * Initie le DamierModel pour commencer une partie
         */
        public void InitDamierModel()
        {
            joueur=1;
            nbPionNoir=20;
            nbPionBlanc=20;

            for(int i=0; i<40; i++){
                Pieces[i]=null;
            }
            for(int i=0; i<20; i++){
                Pieces[i]=new Piece("Blanc");
                Pieces[i+20]=new Piece("Noir");
            }
        }


        /**
         *
         * @param j
         *      le joueur (1 ou 2)
         */
	public void setJoueur(int j){
		joueur = j;
	}


        /**
         *
         * @return
         *      le joueur (1 ou 2)
         */
	public int getJoueur(){
		return joueur;
	}

        /**
         *
         * @param nb
         *      le nombre de pion noir
         */
	public void setNbPionNoir(int nb){
		nbPionNoir = nb;
	}

        /**
         *
         * @return
         *      le nombre de pion noir
         */
	public int getNbPionNoir(){
		return nbPionNoir;
	}

        /**
         *
         * @param nb
         *      le nombre de pion blanc
         */
	public void setNbPionBlanc(int nb){
		nbPionBlanc = nb;
	}

        /**
         *
         * @return
         *      le nombre de pion blanc

         */
	public int getNbPionBlanc(){
		return nbPionBlanc;
	}

        /**
         *
         * @return
         *      une reference sur le Damier
         */
        public Damier getDamier(){
            return Damier;
        }


}